/**
 * @package Infinity-Seed
 * @subpackage save
 *
 * @copyright Copyright (C) 2012-2013 Exia.CESI
 * @author Paul MAGNIN, Arthur MERCIER, Jordan RICHET, Cyril SCHUMACHER
 */
package save;

/**
 * Gestion des sauvegardes.
 * @author Cyril SCHUMACHER <cyril.schumacher at viacesi.fr>
 */
public interface ISave {
    /**
     * Determine si une sauvegarde existe.
     * @return Retourne TRUE si une sauvegarde existe, FALSE sinon.
     */
    public Boolean exists();
    /**
     * Récupère la sauvegarde.
     * @return Retourne la chaîne de caractère représentant la grille.
     */
    public String getGrid();
    /**
     * Récupère la hauteur du tableau en sauvegarde.
     * @return Retourne la chaîne de caractère représentant la grille.
     */
    public int getHeight();
    /**
     * Récupère la largeur du tableau en sauvegarde.
     * @return Retourne la chaîne de caractère représentant la grille.
     */
    public int getWidth();
    /**
     * Creer une sauvegarde de la grille.
     * @param size Taille de la grille.
     * @param stepNumber Nombre de pas.
     * @param timeNumber Temps entre chaque pas.
     * @param grid Grille.
     * @return Boolean Retourne TRUE si la grille a ete sauvegardee, FALSE sinon.
     */
    public Boolean setGrid(java.awt.Dimension size, int stepNumber, int timeNumber, String grid);
    
}